package top.xcxdl.rural.service;

import com.github.pagehelper.PageInfo;
import top.xcxdl.rural.entity.RuralProduct;
import com.baomidou.mybatisplus.extension.service.IService;
import top.xcxdl.rural.entity.RuralUser;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Ding
 * @since 2022-05-06
 */
public interface IRuralProductService extends IService<RuralProduct> {

    PageInfo<RuralProduct> getList(Integer pageNo, Integer pageSize, Integer productStatus,Integer productType, Integer authorType, String key);

    int doEdit(RuralProduct product);

    int delete(List<Integer> ids);

    /**
     * 用户获取产品列表
     * @param pageNo 页码
     * @param pageSize 每页数量
     * @param key 检索key
     * @return 产品列表集合
     */
    PageInfo<RuralProduct> getProductListByUser(Integer pageNo, Integer pageSize, String key);

    /**
     * 后台获取产品详情
     * @param productId 产品id
     * @return 产品详情实体
     */
    RuralProduct getDetail(Integer productId);

    /**
     * 获取某一用户发布的产品列表
     * @param pageNo 页码
     * @param pageSize 每页数量
     * @param authorType 用户类型(0:普通用户,1:管理员)
     * @param authorId 用户id（-1即本人）
     * @param key 搜索关键字
     * @return 产品列表
     */
    PageInfo<RuralProduct> getProductListByUserId(Integer pageNo, Integer pageSize, Integer authorId, Integer authorType, String key);

    List<RuralProduct> getProductListBySearch(String key);
}
